home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-21 | 4.9 KB | 182 lines | [TEXT/ttxt] |
- --<<<
- -- Class AutofinderMenu
- in module Autofinder
-
- if NOT (isdefined MenuToggle) do filein theScriptDir name:"menutogl.sx"
- if NOT (isdefined RangeCriterion) do filein theScriptDir name:"criteria.sx"
-
- class AutofinderMenu (TwoDSpace)
- instance variables
- media
- background
- models
- years
- prices
- queryCriteria
- control
- end
-
- method init self {class AutofinderMenu} #rest args #key media: ->
- (
- apply nextMethod self args
-
- self.media := media
- self.queryCriteria := undefined
- self
- )
-
- method afterinit self {class AutofinderMenu} #rest args ->
- (
- local media, background
-
- apply nextMethod self args
-
- media := self.media
-
- background := media["Menu Background"]
-
- append self background
- self.background := background
-
- self.models := makeModelToggles self media
- self.years := makeYearToggles self media
- self.prices := makePriceToggles self media
-
- local ac := new actuatorController space:self wholespace:true
- self.control := #(ac)
- )
-
- method leaveScene self {class AutofinderMenu} ->
- (
- for i in self.control do
- i.space := undefined
- emptyout self.control
-
- emptyout self
- makePurgeable self.background
- self.background := self.models := self.years := self.prices := undefined
- )
-
- method makeModelToggles self {class AutofinderMenu} media ->
- (
- local toggles
-
- local model1 := new menuToggle name:"Station Wagon" x:173 y:163 \
- toggledOffBitmap:(new rect x2:154 y2:21) \
- toggledOnBitmap:media["Station Wagon Hilite"]
- model1.authordata := "Station Wagon"
- local model2 := new menuToggle name:"Sport-Utility" x:331 y:163 \
- toggledOffBitmap:(new rect x2:144 y2:22) \
- toggledOnBitmap:media["Sport Utility Hilite"]
- model2.authordata := "Sport-Utility"
- local model3 := new menuToggle name:"Sports Car" x:172 y:184 \
- toggledOffBitmap:(new rect x2:122 y2:20) \
- toggledOnBitmap:media["Sports Car Hilite"]
- model3.authordata := "Sports Car"
- local model4 := new menuToggle name:"Convertible" x:294 y:184 \
- toggledOffBitmap:(new rect x2:138 y2:21) \
- toggledOnBitmap:media["Convertible Hilite"]
- model4.authordata := "Convertible"
- local model5 := new menuToggle name:"4-Door Sedan" x:175 y:204 \
- toggledOffBitmap:(new rect x2:73 y2:21) \
- toggledOnBitmap:media["4-Door Hilite"]
- model5.authordata := "4-Door Sedan"
- local model6 := new menuToggle name:"2-Door Sedan" x:250 y:205 \
- toggledOffBitmap:(new rect x2:80 y2:21) \
- toggledOnBitmap:media["2-Door Hilite"]
- model6.authordata := "2-Door Sedan"
-
- toggles := #(model1, model2, model3, model4, model5, model6)
-
- for modelToggle in toggles do (prepend self modelToggle)
-
- toggles
- )
-
- method makeYearToggles self {class AutofinderMenu} media ->
- (
- local toggles
-
- local year1 := new menuToggle name:"1986" x:289 y:265 \
- toggledOffBitmap:(new rect x2:132 y2:20) \
- toggledOnBitmap:media["1986 Hilite"]
- year1.authordata := (1986 to 1989)
- local year2 := new menuToggle name:"1990" x:289 y:285 \
- toggledOffBitmap:(new rect x2:130 y2:20) \
- toggledOnBitmap:media["1990 Hilite"]
- year2.authordata := (1990 to 1992)
- local year3 := new menuToggle name:"1993" x:288 y:304 \
- toggledOffBitmap:(new rect x2:145 y2:23) \
- toggledOnBitmap:media["1993 Hilite"]
- year3.authordata := (1993 to 2000)
-
- toggles := #(year1, year2, year3)
-
- for yearToggle in toggles do (prepend self yearToggle)
-
- toggles
- )
-
- method makePriceToggles self {class AutofinderMenu} media ->
- (
- local toggles
-
- local price1 := new menuToggle name:"5K" x:211 y:363 \
- toggledOffBitmap:(new rect x2:125 y2:20) \
- toggledOnBitmap:media["5K Hilite"]
- price1.authordata := (0 to 5000)
- local price2 := new menuToggle name:"10K" x:209 y:382 \
- toggledOffBitmap:(new rect x2:145 y2:21) \
- toggledOnBitmap:media["10K Hilite"]
- price2.authordata := (5000 to 10000)
- local price3 := new menuToggle name:"15K" x:208 y:403 \
- toggledOffBitmap:(new rect x2:151 y2:22) \
- toggledOnBitmap:media["15K Hilite"]
- price3.authordata := (10000 to 100000)
-
- toggles := #(price1, price2, price3)
-
- for priceToggle in toggles do (prepend self priceToggle)
-
- toggles
- )
-
- method getSelectedItems self {class AutofinderMenu} toggleList ->
- (
- -- Get the selected toggles, and add return the resulting names
- local selectedItems := chooseAll toggleList (toggle dummy -> \
- (toggle.toggledOn)) undefined
- local selectedItemsNames := (for item in selectedItems collect item.authordata)
- return selectedItemsNames
- )
-
- method getQueryCriteria self {class AutofinderMenu} ->
- (
- local selections, criteria, range
-
- criteria := new KeyedLinkedList
-
- selections := getSelectedItems self self.models
- add criteria @classification selections
-
- selections := getSelectedItems self self.years
- range := new RangeCriterion ranges:selections
- add criteria @year range
-
- selections := getSelectedItems self self.prices
- range := new RangeCriterion ranges:selections
- add criteria @price range
-
- self.queryCriteria := criteria
-
- return criteria
- )
-
- --method purgeObject self {class AutofinderMenu} ->
- --(
- -- print "purging"
- --)
-
- "Compiled mainMenu.sx"
- -->>>
-